﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using TCC_Hotel.Serviços.BDServices;
using TCC_Hotel.Entidades;

namespace TCC_Hotel.Apresentacao.Produtos
{
    public partial class DetalhesProduto : System.Web.UI.Page
    {
        /// <summary>
        /// carregamento da página 
        /// </summary>
        protected void Page_Load(object sender, EventArgs e)
        {
            //Recupera o usuario corrente
            string usuario = Request.ServerVariables["AUTH_USER"].ToString();
            LoginService servico_Login = new LoginService();
            //Verifica permissao ao acesso da página
            if (!servico_Login.RecuperarPermissaoCache(usuario).Listar_Produtos)
            {
                //Redireciona para a pagina inicial
                Response.Redirect("~/");
            }
            //Verifica permissao ao acesso da página
            if (!servico_Login.RecuperarPermissaoCache(usuario).Cadastrar_Produtos)
            {
                //Redireciona para a pagina inicial
                btnEditar.Visible = false;
            }

            if (!IsPostBack)
            {

                //Se nao vier parametro, redireciona o usuario para a tela inicial
                if (Request.Params["id"] == null)
                {
                    //Redireciona para a pagina inicial
                    Response.Redirect("~/");
                }

                //Recupera o parametro da URL
                int ID = Convert.ToInt32(Request.Params["id"]);

                ProdutoService servico = new ProdutoService();
                FornecedorService servico_fornecedor = new FornecedorService();

                //chama o serviço que busca no banco de dados o funcionario correspondente
                Produto produto = servico.RecuperarDetalhesProduto(ID);
                Fornecedor fornecedor = servico_fornecedor.RecuperarDetalhesFornecedor(produto.IDFornecedor);


                if (produto != null)
                {
                    txtNomeProduto.Text = produto.NomeProduto;
                    txtQntMinima.Text = Convert.ToString(produto.QuantidadeMinima);
                    txtTelefone.Text = fornecedor.TelefoneFornecedor;
                    txtFornecedor.Text = fornecedor.NomeFornecedor;
                    txtEmailFornecedor.Text = fornecedor.EmailFornecedor;
                    ckbPermitirEmail.Checked = produto.PermitirEnvioEmail;
                    txtPrecoVenda.Text = string.Format("{0:0.00}", produto.PrecoVenda);
                    txtPedido.Text = Convert.ToString(produto.QuantidadePedido);
                }
            }
        }

        /// <summary>
        /// Evento de click do botao voltar 
        /// </summary>
        protected void btnVoltar_Click(object sender, EventArgs e)
        {

            //Redireciona para a pagina anterior
            Response.Redirect("~/Apresentacao/Produtos/ListarProdutos.aspx");

        }

        /// <summary>
        /// Evento de click do botao editar 
        /// </summary>
        protected void btnEditar_Click(object sender, EventArgs e)
        {
            //Redireciona para a pagina de editar correspondente com o CPF como parametro
            Response.Redirect("~/Apresentacao/Produtos/EditarProduto.aspx?id=" + Request.Params["id"]);

        }
    }
}